perm filename DRUM.F4[LK,LCS]3 blob sn#157034 filedate 1975-05-03 generic text, type T, neo UTF8
00100	C  SETS UP 6 RHYTHMIC LISTS WHICH CAN BE CHOSEN AT RANDOM.
00200	C LOAD THE LIST BY USING INST. '<DUMY'. EACH LIST MUST END WITH 2 NEGS.
00300		SUBROUTINE SUBR
00400		COMMON /INS/ INST(27),BG(60)
00500		COMMON P(30),INUM,IPAR,CNT(27),BT,PL(48),IREST,DF,DUR(27)
00600	C   INUM=INST#  IPAR=PARAM#  
00700	C   BT=BASIC TIME P1 WHEN SUBROUTINE IS CALLED
00800	C   IF IREST IS <0, THAT NOTE WILL BE A REST.  
00900	C   INST=INST. NAME,  BG=INSTS' BEGIN TIMES.
01000	C   NOTE #S IN SUBROUTINE: (1-84)  C4=37  FS4=43  C5=49  ETC.
01100	C   F1=86  F15=100 (NO F16!)
01200		DIMENSION A(6,30)
01300		EQUIVALENCE (P2,P(2))
01500	
01600		IF(INST(INUM).NE.'<DUMY')GO TO 100
01700		K=CNT(INUM)
01800		DO 40 J=1,6
01900	40	A(J,K)=P(J+2)
02000	C  P3 GOES INT A(1,   P4 → A(2,  ETC.
02400	C  STORES 6 RHYTH LISTS.
02600		RETURN
02700	
02800	100	IF(CNT(INUM).EQ.1)KK=0
02900	10	IF(KK.NE.0)GO TO 20
03000		J=P2
03100		RR=RAND(.5,1.3)
03200	C  RR IS SPEED FACTOR
03300	20	KK=KK+1
03400		P2=A(J,KK)*RR*RAND(.95,1.1)
03500		IF(P2.LT.0.AND.A(J,KK+1).LT.0)KK=0
03510		IF(KK.GE.30)KK=0
03550		DF=-.5
03575	C  SO NOTE WILL NEVER BE LONGER THAN .5"
03600		END